package com.bensonbasement.snorflux.memory;

import java.io.Serializable;

public abstract class RWorldElement implements Serializable {
	
	private final RWorld world;
	
	public RWorldElement(RWorld world) {
		this.world = world;
	}
	
	public long getWorldElementID() {
		return this.getInfo().getWorldElementID();
	}
	
	public String getGlyph() {
		return this.getInfo().getGlyph();
	}

	public String getName() {
		return this.getInfo().getName();
	}

	public RWorld getWorld() {
		return world;
	}
	
	public Memory getMemory() {
		return world.getMemory();
	}
	
	protected abstract WorldElementInfo getInfo();
}
